Skip to content

fix(desktop): launcher real-run fixes — Docker PATH, project isolation, no stranded config - #80

Merged
Kevin-Tucuxi merged 2 commits into
mainfrom
fix/desktop-docker-path
Jun 14, 2026
Merged

fix(desktop): launcher real-run fixes — Docker PATH, project isolation, no stranded config#80
Kevin-Tucuxi merged 2 commits into
mainfrom
fix/desktop-docker-path

Conversation

@Kevin-Tucuxi

Copy link
Copy Markdown
Contributor

Fixes surfaced by the Task 13 live walkthrough (all verified on the real signed .dmg):

  1. Find Docker on the GUI PATH. A Finder-launched app inherits a minimal PATH without /usr/local/bin, so spawn('docker') ENOENT'd — crashing the app (the log tail had no error handler) and showing a false "Docker is not installed". Prepend the known docker bin dirs (tested dockerSearchPath) + swallow streamDocker spawn errors.
  2. Isolated compose project. PROJECT_NAME donnadonna-desktop so the launcher gets its own volumes and never collides with the build-from-source / raw-lq-ai dev stacks. (The old name reused the dev donna_pgdata volume → Postgres password mismatch → api crash-loop.)
  3. No stranded config. Persist the config blob only after the stack is healthy + admin created, so a failed first run re-shows the wizard instead of skipping it.

Verified live: signed/notarized dmg → wizard → donna-desktop stack 8/8 healthy → login succeeded.

Merge with a merge commit (never squash).

🤖 Generated with Claude Code

Kevin-Tucuxi and others added 2 commits June 13, 2026 17:19
…on spawn error

A Finder-launched macOS app inherits a minimal PATH (/usr/bin:/bin:/usr/sbin:/sbin)
that omits /usr/local/bin where Docker Desktop's CLI lives, so spawn('docker')
ENOENTs even with Docker installed — surfacing as a main-process crash (streamDocker
had no error handler) and a false 'Docker is not installed' in the wizard. Prepend the
known docker bin dirs to PATH (tested dockerSearchPath helper) and swallow streamDocker
spawn errors so the log tail can't crash the app.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…onfig only after success

(1) PROJECT_NAME donna→donna-desktop: the launcher shared project 'donna' with the
build-from-source/raw-lq-ai dev stacks, so it reused their postgres volume — whose
password differs from the launcher's generated one → api 'password authentication
failed' crash-loop. A distinct project gives the launcher its own isolated volumes.
(2) saveConfig only after the stack is healthy + admin created, so a failed first run
re-shows the wizard instead of stranding a half-configured install.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Kevin-Tucuxi
Kevin-Tucuxi merged commit 81821d3 into main Jun 14, 2026
1 check passed
@Kevin-Tucuxi
Kevin-Tucuxi deleted the fix/desktop-docker-path branch June 14, 2026 00:46
Kevin-Tucuxi added a commit that referenced this pull request Jun 14, 2026
…d end-to-end

Signed/notarized dmg → wizard (password under admin@lq.ai, live progress) → isolated
donna-desktop stack healthy → login → stop/relaunch/engine-absent all confirmed.
Documents the four real-run bugs this walkthrough caught + fixed (#80, #81).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Kevin-Tucuxi added a commit that referenced this pull request Jul 5, 2026
fix(desktop): launcher real-run fixes — Docker PATH, project isolation, no stranded config
Kevin-Tucuxi added a commit that referenced this pull request Jul 5, 2026
…d end-to-end

Signed/notarized dmg → wizard (password under admin@lq.ai, live progress) → isolated
donna-desktop stack healthy → login → stop/relaunch/engine-absent all confirmed.
Documents the four real-run bugs this walkthrough caught + fixed (#80, #81).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant